package com.hqully.labmanage.mapper;

import com.hqully.labmanage.domain.dto.LabManagerDTO;
import com.hqully.labmanage.domain.entity.LabManager;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 针对数据库表[labManager]的操作
 * </p>
 *
 * @author hqully <br>
 * @entity {@link LabManager}
 * @date 2022-10-08 10:05:23 <br>
 * @version 1.0
 */
@Mapper
public interface LabManagerMapper {

    /**
     * <p>
     * 根据[labManagerDTO]的参数条件查询实验室管理员列表
     * </p>
     *
     * @param labManagerDTO 查询参数
     * @return {@link List<LabManagerDTO>} 实验室管理员DTO列表
     * @date 2022-10-08 10:05:23 <br>
     * @author hqully <br>
     */
    List<LabManagerDTO> listLabManagers(LabManagerDTO labManagerDTO);

    /**
     * <p>
     * 添加实验室管理员
     * </p>
     *
     * @param labManager 实验室管理员实体类
     * @return {@link int}
     * @date 2022-10-08 10:05:23 <br>
     * @author hqully <br>
     */
    int addLabManager(LabManager labManager);

    /**
     * <p>
     * 更新实验室管理员
     * </p>
     *
     * @param labManager 实验室管理员
     * @return {@link int}
     * @date 2022-10-08 10:05:23 <br>
     * @author hqully <br>
     */
    int updateLabManager(LabManager labManager);
    
    /**
     * <p>
     * 通过[id]删除实验室管理员
     * </p>
     *
     * @param id 实验室管理员id
     * @return {@link int}
     * @date 2022-10-08 10:05:23 <br>
     * @author hqully <br>
     */
    int deleteLabManagerById(@Param("id") String id);

}

